هادي ويسي h.veisi@ut.ac.ir دانشگاه تهران - دانشکده علوم و فنون نوين
شبکه عصبي مصنوعي مقدمه و معرفی + تاریخچه شبکه عصبي آموزش + مثال پرسپترون شبکه عصبي آداالين آموزش + مثال )MLP( شبکه عصبي پرسپترون چنداليه آموزش کاربرد مثال نکات تکمیلی 2
مغز = شبکه اي بسیار بزرگ از عصب ها )نرون ها( 100.000.000.000 نرون 10.000 اتصال برای هر نرون شبکه عصبي مصنوعي = شبیه سازي شبکه عصبي طبیعي 3
عنصر پردازشگر تشکیل دهنده يک شبکه عصبي مصنوعي نرون )Neuron( = عصب طبیعی )سلول مغزی( سه جزء تشکیل دهنده يک نرون طبیعي دندریتها :)Dendrite( دریافت سیگنال از سایر نرونها سوما )Soma( = بدنة سلول: سیگنالهای ورودی به سلول را جمع میبندد آکسون :)Axon( ارسال سیگنال به نرون)های( دیگر 4
عملکرد نرون طبیعي دریافت سیگنال از سایر نرون ها توسط دندریت ها عبور سیگنالها با یك فرآیند شیمیایی از فاصلة سیناپسی Gap( )Synaptic عمل شیمیایی انتقال دهنده سیگنال ورودی را تغییر میدهند )تضعیف/تقویت سیگنال( سوما سیگنال های ورودی به سلول را جمع می بندد زمانی که یك سلول به اندازه کافی ورودی دریافت نماید برانگیخته می شود و سیگنالی را از آکسون خود به سلول های دیگر می فرستد. انتقال سیگنال از یك نرون خاص نتیجة غلظتهای مختلف یونها در اطراف پوشش آکسون نرون )»مادة سفید«مغز( میباشد. يونها=پتاسيم سديموكلريد سیگنال ها به صورت ضربه های الکتریکی هستند 5
شبکه عصبي مصنوعي ]Artificial Neural Network[ یك سیستم پردازش اطالعات با ویژگی های مشترکی با شبکه های عصبی طبیعی تعمیم یافتة مدل های ریاضی تشخیص انسان بر اساس زیست شناسی عصبی فرضیات پايه شبکه عصبي مصنوعي پردازش اطالعات در اجزای سادهای با تعداد فراوان به نام نرونها صورت میگیرد. سیگنالها در بین نرونهای شبکه از طریق پیوندها یا اتصاالت )Connections( آنها منتقل میشوند. هر پیوند وزن )Weight( مربوط به خود را دارد که در شبکههای عصبی رایج در سیگنالهای انتقال یافته از آن پیوند ضرب میشود. هر نرون یك تابع فعالسازی Function( )Activation را بر روی ورودیهای خود اعمال میکند تا سیگنال خروجی خود را تولید نماید. تابعمعموال غيرخطياست 6
يک نرون عصبي مصنوعي نرون های ورودی نرون خروجی وزن ها فعال سازی ها یا سیگنال های خروجی نرون های ورودی به ترتیب x2 x1 و x3 ورودی شبکه به نرون Y حاصل جمع وزن دار سیگنال های ورودی و وزن هاست: فعالسازی نرون Y با اعمال تابع فعالسازی f روی ورودی آن به دست میآید هستند y f ( y _ in) y in w x w x w x w x _ 1 1 2 2 3 3 i i i 1 if x f ( x) f( x) 0 if x 1 1 exp( x ) تابعپله تابعسيگمويد) Sigmoid ( 7
يک شبکه عصبي مصنوعي سه الیه: ورودی مخفی و خروجی دو دسته وزن: wها و vها در یك شبکه یك نرون می تواند ورودی های مختلفی را از چند نرون دریافت کند 8
باياس در ورودی شبکه عصبی عالوه بر ورودیهای موردنظر یك ورودی ثابت با مقدار 1 داشته باشیم. نیز y in b w x w x b w x _ 1 1 1 2 2 i i i 9
f ( x) x for all x... متداول فعالسازي توابع )Identity Function( برايواحدهايورودي همانی تابع )Step Function( دودویی ای پله تابع )Heaviside Threshold (ياتابعهويسايد) Function تابعآستانه) Function )-1 اي يا 0 (يادوقطبي) 1()Bipolar خروجي=سيگنالدودويي) 1 f 1 ( x) 0 if if x x 10
1 f ( x) 1 exp( x ) f ( x ) f ( x )[ 1f ( x )] )Sigmoid Functions( متداول سازي فعال توابع سیگموید توابع S شکل به هایی منحنی استفادهدرشبكههايعصبيپسانتشار)نيازبهمشتقگيري( )Logistic تابعلجستيک) Function سيگمويددودويي- تسا 1 و تا 1 مقاديرمطلوبخروجييادودويياستويابين 0 دامنة 0 )Hyperbolic Tangent شبيهبهتابعتانژانتهيپربوليک) Function سيگمويددوقطبي- تا 1 دامنة 1-2 1exp( x ) g ( x ) 2 f ( x ) 1 1 1 exp( x) 1 exp( x) g ( x ) [1 g ( x )][1 g ( x )] 2 11
ساختارهاي رايج... ساختار یا معماری: آرایش نرونها در الیهها و الگوهای ارتباط داخل و بین الیهها شبکههای پیشخور )Feedforward( -سیگنالها در یك جهت و از سمت واحدهای ورودی به سمت واحدهای خروجی )به سمت جلو( میروند شبکه دوالیه شبکه یك الیه 12
ساختارهاي رايج شبکة بازگشتی )Recurrent( مسیرهای بستة سیگنال از یك واحد به خودش وجود دارد شبکة رقابتی: واحدهای آن کامال به هم مرتبطاند 13
ويژگي هاي مشخص کننده يک شبکة عصبي مصنوعي ساختار یا معماری شبکه :)Architecture( الگوریتم آموزش یا یادگیری وزنهای روی پیوندهای شبکه الگوی پیوندهای بین نرون های مختلف :)Training or Learning Algorithm( روش تعیین تابع فعالسازی شبکه Function( )Activation که هر نرون روی ورودیهای خود اعمال میکند معماری 3 الیه وزنهای w و v تابع فعالسازی برای Y و Z1 و Z2 14
دهه - 40 اولین شبکه هاي عصبي مصنوعي 1943- معرفی نرون مكکالچ پیتز )اولین شبکه عصبی مصنوعی( 1949- شبکه هب: توسط دونالد هب )روانشناس(- اولین قانون یادگیری دهه 50 پرسپترون 1958 -توسط فرانك روزنبالت- قانون یادگیری قوی تر از هب )مفهوم خطا و تکرار( دهه 60 گسترش پرسپترون + آداالين 1960 شبکه آداالین توسط ویدرو و هاف- قانون یادگیری دلتا )مبتنی بر کاهش خطا( دهة 70- سال هاي خاموش -1972 اولین کار کوهونن )از هلسینکی( روی شبکههای عصبی حافظة پیوندی 15
دهه 80- شکوفايي شبکه هاي عصبي 1982- شبکههای هاپفیلد )جزو شبکه های حافظة انجمنی( 1982- نگاشت های خودسازمانده کوهونن )SOM( )MLP( الگوریتم 1985- پس انتشار خطا برای آموزش شبکه های چندالیه ماشین بولتزمن: تغییر وزن ها براساس تابع چگالی احتمال -1985 1987- شبکه های نظریة نوسان وفقی )ART( توسط کارپنز و گراس برگ 1987- شبکه Neocognitron توسط فوکوشیما برای بازشناسی نویسه ها مطالعات ریاضیاتی و زیست شناختی پیادهسازی سختافزاری شبکه عصبی 16
دهه 90 دهه کاربرد به کار گیری شبکه های عصبی در کاربردهای مختلف توسعه شبکه توابع پایه شعاعی 1997- شبکه بازگشتی LSTM )RBF( ٢000 به بعد یادگیری عمیق شبکههای بازگشتی )Deep Learning( 17
INPUT( x, x ) OUTPUT 1 2 ( 1, 1) 1 ( 1, 1) 1 ( 1, 1) 1 ( 1, 1) 1 AND تابع مثال: )دوقطبی( خروجی یك و )دوقطبی( دنشاب استكههردوورودي 1 وقتيخروجي 1 ورودی دو y _ in 1b w x w x 1 1 2 2 f 1 ( x) 0 if if x x b w 1 x 1 w 2 x 2 0 گیری تصمیم مرز b 1, w 1, w 1 1 2 x2 x1 1 پاسخ 18
INPUT( x, x ) OUTPUT 1 2 ( 1, 1) 1 ( 1, 1) 1 ( 1, 1) 1 ( 1, 1) 1 OR تابع مثال: )دوقطبی( خروجی یك و )دوقطبی( دشاب استكهحداقليكيازوروديها 1 وقتيخروجي 1 ورودی دو b 1, w 1, w 1 x 1 2 2 x11 گیری تصمیم مرز کرد می عبور مبدأ از باید گیری تصمیم مرز نداشت وجود بایاس وزن اگر 19
مساله: نحوه بدست آوردن وزنها )معادله خط تصمیمگیري( الگوریتمهای یادگیری شبکه عصبی: هب پرسپترون آداالین و... و 1988 پرسپترون جزو معروف ترین شبکه های عصبی است بیشترین اثرگذاری بر شبکههای عصبی اولیه روزنبالت در سال 1962 و مینسکی و پاپرت در سالهای 1969 ایده قانون یادگیری مبتنی بر قانون یادگیری هب اما با چند بهبود کلیدی يادگيريهمراهباتكرار درقانونهب فقطيکبار)بدونتكرار(دادههايآموزشبهشبكهدادهميشد وزنهافقطزمانيتغييرميكندكهپاسخشبكهبهازايآنوروديدارايخطاباشد خطا=خروجيمحاسبهشدهتوسطشبكهبامقدارهدفيكينباشد 20
ساختاراولیه مدل تقریبی شبکیه چشم سهاليهنرون)واحدهايحسي واحدهايپيونددهندهوواحدپاسخ( فقطوزنهايبيناليههايدوموسومآموزشدادهميشود خروجيواحدهايپيونددهندهبهواحدهايپاسخيکبرداردودويياست عمال شبكهايبايکاليهوزناست ساختار براي دسته بندي الگو دو الیه نرون )یك الیه وزن( يکاليهوروديويکاليهخروجي خروجی دو حالت متعلقبودنبهدستهباپاسخ 1 + متعلقنبودنباپاسخ 1-21
صفر( )مقدار بایاس و وزنها به اولیه مقداردهی 0- مرحلة )1 )مقدار 0 1 یادگیری نرخ تعیین الگوریتم تکراری دهید انجام را 6 تا 2 مراحل نیست برقرار توقف شرایط زمانیکه تا 1- مرحلة x i s : t s i آموزش داده جفت هر برای 5 تا 3 مراحل انجام 2- مرحلة کنید: مشخص را ورودی واحدهای فعالسازیهای 3- مرحلة کنید: محاسبه را خروجی واحد پاسخ 4- مرحلة y in b x w _ i i i 1 if y _ in y 0 if y _ in 1 if y _ in )2θ( يريگ ميمصت مدع هيحان = =عدمتعلقبهدسته 0 =تعلقبهدسته 1-1 22
اگر خطایی رخ داده است وزن ها و بایاس را به روز کنید. اگرt y است آنگاه: به روز کردن مشروط وزن ها w ( new ) w ( old ) x t i i i b( new ) b( old ) t مرحلة -5 w ( new ) w ( old ) i b( new ) b( old ) i در غیراین صورت: مرحلة 6- شرایط توقف را آزمایش کنید: اگردرمرحلة 2 هيچوزنيتغييرنكرد الگوريتمرامتوقفكنيد درغيراينصورتادامهدهيد. خطا = برابر نبودن پاسخ شبکه و مقدار هدف نرخ يادگیري 23
... با ورودي هاي دودويي و هدف هاي دوقطبي تابع AND دودویی: مقادیر صفر و یك دوقطبی: مقادیر 1+ و 1- وزنهای اولیه و بایاس را صفر نرخ اولیه یادگیری = 1 آستانه =0.2 WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 0 0 0) ( 1 1 1) 0 0 1 ( 1 1 1) ( 1 1 1) ارائه ورودی اول x 1 x2 1 02 / x 1 x 2 1 0/ 2 24
تابع AND با وروديهاي دودويي و هدفهاي دوقطبي... WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 1 1 1) ( 1 0 1) 2 1 1 ( 1 0 1) ( 0 1 0) ارائه دومین ورودی x x 2 02 / 2 02 / 25
تابع AND با وروديهاي دودويي و هدفهاي دوقطبي... WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 0 1 0) ( 0 1 1) 1 1 1 ( 0 1 1) ( 0 0 1) ارائه سومین ورودی ارائه چهارمین ورودی باتوجهبهبرابربودنپاسخشبكهومقدارهدف وزنهاتغييرينميكنند WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 0 0 1) ( 0 0 1) 1 1 1 ( 0 0 0) ( 0 0 1) کامل شدن اولین دور آموزش ( )Epoch 26
... با ورودي هاي دودويي و هدف هاي دوقطبي تابع AND نیاز به تکرار صحیح نبودن پاسخ برای اولین الگوی ورودی تکراری بودن فرآیند آموزش )Iterative( دومین دور آموزش -ارائه اولین ورودی WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 0 0 1) ( 1 1 1) 1 1 1 ( 1 1 1) ( 1 1 0) x 1x2 02 / x 1 x2 02 / 27
تابع AND با وروديهاي دودويي و هدفهاي دوقطبي... دومین دور آموزش -ارائه دومین ورودی WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 1 1 0) ( 1 0 1) 1 1 1 ( 1 0 1) ( 0 1 1) x 2 1 0/ 2 x 2 1 0/ 2 28
تابع AND با وروديهاي دودويي و هدفهاي دوقطبي... WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 0 1 1) ( 0 1 1) 0 0 1 ( 0 1 1) ( 0 0 2) دومین دور آموزش -ارائه سومین ورودی پاسخبرايتماموروديهامنفي دومین دور آموزش -ارائه چهارمین ورودی پاسخبرايتماموروديهامنفي WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 0 0 2) ( 0 0 1) 2 1 1 ( 0 0 0) ( 0 0 2) کامل شدن دومین دور آموزش ( )Epoch 29
تابع AND با وروديهاي دودويي و هدفهاي دوقطبي... WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 ( 0 0 2) ( 1 1 1) 2 1 1 ( 1 1 1) ( 1 1 1) ( 1 0 1) 0 0 1 ( 1 0 1) ( 0 1 2) ( 0 1 1) 1 1 1 ( 0 0 0) ( 0 1 2) ( 0 0 1) 2 1 1 ( 0 0 0) ( 0 1 2) سومین دور آموزش چهارمین دور آموزش ( 1 1 1) 1 1 1 ( 1 1 1) ( 1 2 1) ( 1 0 1) 0 0 1 ( 1 0 1) ( 0 2 2) ( 0 1 1) 0 0 1 ( 0 1 1) ( 0 1 3) ( 0 0 1) 3 1 1 ( 0 0 0) ( 0 1 3) 30
... با ورودي هاي دودويي و هدف هاي دوقطبي ( 1 1 1) 0 0 1 ( 1 1 1) ( 3 3 3) ( 1 0 1) 0 0 1 ( 1 0 1) ( 2 3 4) ( 0 1 1) 1 1 1 ( 0 0 0) ( 2 3 4) ( 0 0 1) 4 1 1 ( 0 0 0) ( 2 3 4) ( 1 1 1) 1 1 1 ( 0 0 0) ( 2 3 4) ( 1 0 1) 2 1 1 ( 0 0 0) ( 2 3 4) ( 0 1 1) 1 1 1 ( 0 0 0) ( 2 3 4) ( 0 0 1) 4 1 1 ( 0 0 0) ( 2 3 4) تابع AND پنجمین ششمین... دور آموزش نهمین دور آموزش دهمین دور آموزش عدمتغييروزنها=توقفالگوريتم همگراييوزنها 2 7 2x 1 3x 2 4 0/ 2 x 2 x 1 3 5 2 19 2x 1 3x 2 4 0/ 2 x 2 x 1 3 15 31
تابع AND با وروديها و هدفهاي دوقطبي آستانه بایاس و وزنهای اولیة برابر با صفر نرخ یادگیری برابر با 1 WEIGHT INPUT NET OUT TARGET CHANGES WEIGHTS ( x x 1) y _ in y t ( w w b ) ( w w b ) 1 2 1 2 1 2 (0 0 0) (1 1 1) 0 0 1 (1 1 1) (1 1 1) (1 1 1) 1 1 1 ( 1 1 1) (0 2 0) ( 1 1 1) 2 1 1 (1 1 1) (1 1 1) ( 1 1 1) 3 1 1 (0 0 0) (1 1 1) ( 1 1 1) 1 1 1 ( 0 0 0) ( 1 1 1) ( 1 1 1) 1 1 1 ( 0 0 0) ( 1 1 1) ( 1 1 1) 1 1 1 ( 0 0 0) ( 1 1 1) ( 1 1 1) 3 1 1 ( 0 0 0) ( 1 1 1) دور اول آموزش دور دوم آموزش بهبود نتایج با تغییر نمایش دودویی به دوقطبی 32
عنوان تشخیص )موضوع( متن C = {c 1, c 2,, c K } )موضوع( دسته K تعداد نرونخروجي تعداد K متنی سند = داده يدعب تبديلهرسندبهيکبردارويژگي N نرونورودي تعداد N آموزش سنددارايبرچسپ داده=تعداد M )مدل( خروجي:وزنهايشبكه=يکماتريس N*K آزمون ورودي:يکسندباعنواننامشخص بعديودادنآنبهشبكه تبديلسندبهيکبردار N خروجي:نروني)دستهاي(كهمقداربزرگتردارد 33
زبان تشخیص C = {c 1, c 2,, c K } )زبان( دسته K تعداد نرونخروجي تعداد K صوتی سند یا متنی سند = داده يدعب تبديلهرسندبهيکبردارويژگي N نرونورودي تعداد N 34
جنسیت تشخیص C = {c 1, c 2 } مرد( و )زن دسته 2 تعداد تعداديکنرونخروجي)صفرويک( نرونهماستفادهکرد ميتواناز 2 سند = داده صوتی سند یا متنی يدعب تبديلهرسندبهيکبردارويژگي N نرونورودي تعداد N ويژگيهايمتني:تعدادرنگ صفات فعلهاو... ويژگيهايصوتي:انرژيصدا فرکانس و... 35
تشخیص نظرات قطبیت )موافق/مخالف( C = {c 1, c 2 } مخالف( و )موافق دسته 2 تعداد تعداديکنرونخروجي)صفرويک( نرونهماستفادهکرد ميتواناز 2 سند = داده متنی يدعب تبديلهرسندبهيکبردارويژگي N نرونورودي تعداد N ويژگيهايمتني:صفاتيمثبت/منفي فعلهايمثبت/منفيو... 36
XOR تابع مثال: )دوقطبی( خروجی یك و )دوقطبی( دشاب استكهفقطيكيازوروديها 1 وقتيخروجي 1 ورودی دو INPUT( x, x ) OUTPUT 1 2 ( 1, 1) 1 ( 1, 1) 1 ( 1, 1) 1 ( 1, 1) 1 حل الگوريتمهمگرانميشود)جوابدرستنميدهد( )Linearly Spreadable( جداییپذیر خطی صورت به ورودی دادههای فضای نیست. هيچخطمستقيمنميتواندنقاطمثبتومنفيراجداكند:پرسپترونقادربهيافتنپاسخنيست 37
قضیه *w وجود داشته باشد بهطوریکه برای تمام pها داشته باشیم: f(x(p). w*) = t(p) اگر بردار وزن آنگاه برای هر بردار اولیه w قانون یادگیری پرسپترون به بردار وزنی نزدیك میشود )نه الزاما منحصر به فرد و نه الزاما *w( که برای تمام الگوهای آموزش پاسخ صحیحی میدهد و این کار در مراحلی با تعداد متناهی انجام میشود. p =تعدادبردارهايوروديآموزش x(p) =بردارهايوروديآموزش ( t(p =مقدارهدفمعادلبردارهايوروديآموزش)دوقطبي( f =تابعفعالسازيخروجي برقراری این قضیه فقط برای مسائل خطی جدایی پذیر )Linearly Spreadable( 38
آداالين = نرون خط وفقي) Neuron )ADAptive LInear توسط ویدور و هاف در سال 1960 دارای قانون یادگیری متفاوت با پرسپترون قانون یادگیری= قانون دلتا = قانون میانگین مربعات کمینه = (LMS) قانون ویدرو-هاف ميانگينمربعاتخطايبينمقدارخروجيشبكهومقدارهدفدرهرمرحلهازآموزشكاهشيابد استفاده از فعال سازی های دوقطبی برای سیگنال های وروی و خروجی تابع فعال سازی خروجی = تابع همانی ساختار مشابه با سایر شبکه های قبلی چندورودي باياس=وروديبرابربا 1 39
مرحلة 0- مقداردهی اولیه به وزنها )مقادیر تصادفی کوچك( مقداردهی به نرخ یادگیری مرحلة 1- تا زمانیکه شرایط توقف برقرار نیست مراحل 2 تا 6 را انجام دهید. مرحلة 2- برای هر جفت آموزش دوقطبی مراحل 3 تا 5 را انجام دهید. s : t x s i 1,..., n i i مرحلة 3- فعال سازی های واحدهای ورودی را مشخص کنید: y in b x w _ i i i b ( new ) b ( old ).( t y _ in) w ( new ) w ( old ). ( t y _ in). x i i i مرحلة 4- مقدار ورودی شبکه را به واحد خروجی محاسبه کنید: مرحلة 5- مقادیر وزنها و بایاس را بهروز کنید: مرحلة 6- شرایط توقف را آزمایش کنید: اگر بزرگترین تغییر وزنی که در مرحلة 2 رخ داده است از یك مقدار کوچك کمتر باشد الگوریتم را متوقف کنید وگرنه ادامه دهید. 40
تفاوت يادگیري آداالين با يادگیري پرسپترون تغییر وزن ها متناسب با میزان تفاوت پاسخ شبکه به یك ورودی و مقدار هدف متناظر این ورودی است. دربرگیرنده مفهوم خطا )که در یادگیری پرسپترون نیز وجود دارد( نرخ يادگیري تاثیر بر سرعت و روند همگرایی الگوریتم روش: ابتدا مقدار را کوچك فرض کرده )مثال 0.1( و به مرور مقدار آن را بزرگ کنیم اگر مقدار خیلی بزرگی باشد فرآیند یادگیری همگرا نخواهد بود اگر مقدار بسیار کوچکی باشد یادگیری بسیار کند می شود 41
x 1 x 2 t 1 1 1 1 0 1 0 1 1 0 0 1 تابع :AND وروديهاي دودويي هدفهاي دوقطبي شبکه بعد از آموزش 3 w 1 1 w 2 1 w 0 2 x 3 x 0 2 1 2 مربعات خطا برای چهار الگوی آموزش با این وزن ها = 1 2 4 1 1 2 2 0 2 p 1 e E{( tˆ t ) } [{ x ( p). w x ( p). w w } t ( p)] 42
زا) روشهايآماريدرپردازشزبانطبيعي:شبكهعصبيمصنوعي شبکه عصبي پرسپترون چنداليه )MLP: Multi-Layer Perceptron( توسعه شبکههای عصبی به حالت چند الیه آموزش با الگوریتم پس انتشار خطا )Error Back-propagation( قانوندلتايتعميميافته) Rule )Generalized Delta مبتنيبرقانوندلتايشبكهآداالين روشكاهشگراديانبرايبهحداقلرساندنكلمربعاتخطايخروجي ) مهمترین و پرکاربردترین شبکه)های( عصبی 43
شبکه سه اليه یك الیه ورودی )واحدهای X( یك الیه واحدهای مخفی )واحدهای Z( یك الیه خروجی )واحدهایY ) الیه خروجی الیه مخفی بایاس ورودی 44
مراحل پیش خور کردن الگوی آموزش ورودی پس انتشار خطای مربوط تنظیم وزن ها مبنای ریاضی الگوریتم پسانتشار = بهینهسازی کاهش گرادیان )Gradient Descent( گراديان)شيب(يکتابع=نمايانگرجهتيكهتابعدرآنسريعترافزايشمييابد شيبباعالمتمنفي=جهتينشاندهندهكاهشسريعترآنتابع دراينجاتابعموردنظر=تابعخطايشبكه متغيرهايموردنظر=وزنهايشبكه 45
به وزنها مقدار اولیه بدهید )مقادیر تصادفی کوچك را انتخاب کنید(. تا زمانیکه شرایط توقف برقرار نیست مراحل 2 تا 9 را انجام دهید. برای هر جفت آموزش )مقادیر ورودی و هدف( مراحل 3 تا 8 را انجام دهید. مرحلة 0- مرحلة 1- مرحلة 2- پیش خور ارسال سیگنال ورودی به تمام واحدها در الیة بعدی )واحدهای مخفی( محاسبه ورودی واحدهای مخفی و اعمال تابع فعال سازی x i مرحلة 3- مرحلة 4- n j 0 j i ij i1 z _ in v x v z f ( z _ in ) j j مرحلة 5- محاسبه ورودی واحدهای خروجی و اعمال تابع فعال سازی p k 0k j jk j 1 y _ in w z w y f ( y _ in ) k k 46
پس انتشار خطا محاسبه خطا برای واحدهای خروجی )استفاده از الگوی هدف( مرحلة -6 ( t y ) f ( y _ in ) k k k k w z jk k j محاسبه پارامتر تصحیح وزن )بعدا در به روز کردن به کار می رود( _ in w m 0k w j k jk k 1 _ in f ( z _ in ) j j j k محاسبه پارامتر تصحیح بایاس )بعدا در بهروز کردن به کار میرود( ارسال )مقادیر دلتا( به واحدهای الیة قبلی )الیه مخفی( مرحلة 7- دریافت ورودیهای دلتا توسط واحدهای مخفی از واحدهای خروجی ضرب در مشتق تابع فعال سازی جهت محاسبه پارامتر مربوط به اطالعات خطا محاسبه مقدار تصحیح وزن و بایاس )استفاده در بهروز کردن ) k vij j xi v0 j j 47
w ( new) w ( old) w jk jk jk به روز کردن وزن ها و باياس ها به روز کردن وزن ها و بایاس های واحدهای خروجی مرحلة -8 v ( new) v ( old) v به روز کردن وزن ها و بایاس های واحدهای مخفی ij ij ij مرحلة 9- شرایط توقف را بررسی کنید. 48
بعد از آموزش فقط مرحلة پیشخور مورد نیاز است مقادیر وزنهای شبکه را با استفاده از الگوریتم آموزش تعیین کنید. مرحلة 0: برای هر بردار ورودی مراحل 2 تا 4 را انجام دهید. مرحلة 1: برای تمام نرونهای ورودی فعالسازی واحد ورودی را تعیین کنید مرحلة 2: n z _ in v x v z f ( z _ in ) j 0 j i ij j j i 1 مرحلة 3: برای واحدهای مخفی: p مرحلة 4: برای واحدهای خروجی: y _ in w z w y f ( y _ in ) k 0k j jk k k j 1 49
x 1 x 2 y 1 1 0 1 0 1 0 1 1 0 0 0 نمايش دودويي 1( از )6... )تصادفی( :XOR تابع مقدار دهی اولیه f 1 ( x) 1 exp( x ) 50
نمايش ٢( از )6... دودويي x 1 x 2 y 0 0 0 تابع :XOR پیشخور کردن ورودی 51
نمايش 3( از )6... تابع :XOR دودويي پس انتشار خطا 52
نمايش 4( از )6... تابع :XOR دودويي محاسبه وزن ها 53
نمايش 5( از )6... تابع :XOR دودويي به روز کردن وزن ها 54
:XOR تابع وزنهای نهایی نمايش دودويي )6 از 6( )بعد از 500 تکرار( 55
کاربرد در پردازش گفتار و پردازش زبان تشخیص گوینده تشخیص جنسیت جداسازی گفتار از غیر گفتار تعیین نقش دستوری Tagging( )POS تعیین شباهت دو متن تعیین عنوان متن... 56
TDNN: Time-Delay Neural Network تشخیص گفتار با ورودی: دنباله متوالی از فریمهای سیگنال گفتار خروجی: واحد موردنظر در تشخیص )کلمه واج( الیه خروجی: P بعدی تعداد کلمات )واجها( الیه پنهان دوم تشخیص واج های فارسی الیه پنهان اول: N*P -N ابعاد فریمها -P تعداد خروجیها فریمهای گفتار - هر فریم N بعدی - تعداد M فریم متوالی )15( 57
26 نرون = 26 ویژگی 23 ویژگی زبانی )صدادار بیصدا خیشومی و...( 3 ویژگی نوایی )استرس و...( متن خوان انگلیسي NETtalk ورودی: متن نوشته شده و خروجی: واجهایی که صدا را میسازند وابستگی واج ها به محتوا تفاوتتلفظ a در" brave " "gave, تبدیل متن به صورت واجی Phone f o n (f-on-) )كشيده(و have " )كوتاه( 80 نرون 7*29=203 نرون ورودی 7= واج موردنظر و 3 واج در دوطرف آن = 29 بردار دودویی هر بعد معادل یك واج 58
اولیه مقادير انتخاب سراسری خطای حداقل به شبکه همگرایی بر اولیه وزنهای مقادیر تأثیر محلی) Local ( خطای حداقل به شبکه همگرایی منفی( یا )مثبت تصادفی اولیة مقادیر فقط یا )Global( )1 و )يابين 1 - و 0.5 - بازهمتداولبرايمقاديرتصادفيوزنهاوباياسهابين 0.5 مخفي اليه يک از بیش با عصبي شبکة آموزش مخفی الیه یك با آموزش الگوریتم مشابه است الگوریتم در شده بیان مخفی الیه مشابه اضافی مخفی الیة هر برای ها محاسبة تکرار پسانتشار مرحلة در 7 گام و پیشخور مرحلة در 4 گام مخفی الیة هر برای میشود. الگوهای از ای پیوسته نگاشت هر زدن تقریب برای انتشار پس شبکة در مخفی الیة یك است. کافی دقت از دلخواهی میزان با خروجی الگوهای به ورودی کند. می تر آسان را شبکه آموزش مخفی الیة دو از استفاده شرایط برخی در 59
تعادل بین يادگیري الگوها و تعمیم پاسخ صحیح به الگوهای آموزش داده شده به شبکه + تولید پاسخ مناسب به الگوهای جدید شبکه قوانین حاکم بر دادهها را یاد بگیرد نه فقط نمونههای آموزش ادامه آموزش شبکه زمانی که مقدار مربعات خطا واقعا حداقل شده الزاما مفید نمی باشد خطای آموزش صفر اما قابلیت تعمیم پایین )overfit( خطای آموزش باال قابلیت تعمیم پایین )underfit( خطای آموزش باال اما قابلیت تعمیم باال 60
تعادل بین يادگیري الگوها و تعمیم استفاده از دو مجموعه داده مجزا در زمان آموزش شبکه يکمجموعهبرايآموزشالگوهاويکمجموعهبرايآموزش-آزمونالگوها)مجموعه validation ( روش validation cross :تقسيمدادهآموزشبه K زيرمجموعه هرباريكياززيرمجموعههابرايتاييداعتباراستفادهميشود Training Data Training Set Validation Set 61
نکاتي که قابلیت تعمیم را افزايش مي دهد تعداد نرونهای کمتر در الیه مخفی overfit نکردن: توقف شبکه با افزایش خطای مجموعه ارزیابی )تست( دادههای آموزش پوششی از انواع و تنوع نمونهها باشد 62
به روز کردن وزن با پس انتشار با گشتاور) Momentum ( تغییر روش کاهش گرادیان: مقدار تغییر وزن ترکیبی از گرادیان )شیب( فعلی و گرادیان قبلی به روز شدن وزن های زمان 1+t وابسته به وزنهای زمانهای قبلتر )مانند t و 1-t( گرادیان فعلی w ( t 1) = w ( t) z [ w ( t)- w ( t 1 )] w ( t 1) = z w ( t) jk jk k j jk jk jk k j jk v ( t 1) = v ( t) x [ v ( t)-v ( t 1 )] v jk ( t 1) = ij xi vij ( t) ij ij j i ij ij گرادیان قبلی پارامتر ممان )بین 0 تا 1( همگرایی سریعتر + کاهش احتمال گیر کردن در نقطة کمینة محلی 63
تعداد داده هاي آموزش: قاعدة تجربي P= تعداد الگوهای آموزش موجود W= تعداد وزنهای مورد آموزش در شبکه e= صحت دسته بندی مورد نظر آموزش شبکه برای دستهبندی صحیح کسری معادل (2/e)-1 از الگوهای آموزشی میتوان مطمئن بود که شبکه e-1 الگوی آزمایش را نیز به درستی دستهبندی کند W P e کافی بودن الگوهای آموزشی : یا W P e مثال: با 0.1=e شبکهای با 80 وزن 800 الگوی آموزش الزم خواهد داشت تا از دستهبندی صحیح %90 الگوهای آزمایش اطمینان حاصل شود با این فرض که شبکه برای دستهبندی صحیح %95 الگوهای آموزشی آموزش دیده باشد. 64
به روز کردن دسته اي )Batch Updating( به جای به روز کردن وزن های شبکه بعد از ارائة هر الگوی آموزشی ادغام مقدار تصحیح )تغییر( وزن را برای چند الگو یا برای تمام الگوها در یك دور کامل تشکیل یك مقدار تنظیم وزن برای هر وزن برابر با میانگین عبارات تصحیح وزنها آسانتر کردن تصحیح وزنها مقاوم بودن در برابر دادههای نویزی موازیسازی محاسبات افزایش احتمال نزدیك شدن به کمینة محلی 65
MLP شبکه تقريب زننده هاي جهاني است: قضیة هچ-نیلسون n m هر تابع پیوستة f : I R را که در آن I بازة بستة ], 01 [ است میتوان دقیقا با یك شبکة عصبی پیشخور با n واحد ورودی 1 2n واحد مخفی و m واحد خروجی نمایش داد. تابع فعالسازی برای واحد مخفی j ما n i z ( x j) j j i1 i : تابع پیوسته حقیقی و یکنوای صعودی مستقل از f و وابسته به n عددی ثابت و حقیقی مقدار ثابت برای فراهم بودن شرایط قضیة اسپرچر است. n تابع فعالسازی برای واحدهای خروجی: y 2 1 g z k k j j1 تابع پیوسته حقیقی و وابسته به f و 66
شبکه هاي يادگیري عمیق شبکه MLP با تعداد الیه های مخفی زیاد حافظه کوتاه-مدت ماندگار NN( )Deep و شبکه هاي بازگشتي )LSTM: Long Short-Term Memory( بولتزمن محدود شده باور عمیق )RBN: Restricted Boltzmann Machine( )DBN: Deep Belief Network( رمزکننده خودکار )Auto-Encoder( ترکیب با روشهای آماری )HMM( استفاده در پردازش گفتارف تصویر و متن 67
)SOM( شبکه هاي عصبي نگاشت هاي خودسازمانده کوهونن کاربرد در دسته بندی خودکار متون یادگیری بدون نظارت حالت با نظارت يادگيريچنديسازيبرداري) LVQ ( 68